// Proxy 本身 不能自动递归监听嵌套对象，因为它只拦截第一层对象的访问。
// 嵌套对象如果不主动“包一层 Proxy”，它内部的变更是不会被监听到的。

const data = {
  user: {
    name: 'Alice'
  }
};

const proxy = new Proxy(data, {
  get(target, key) {
    console.log('get:', key);
    return target[key];
  },
  set(target, key, value) {
    console.log('set:', key, '=', value);
    target[key] = value;
    return true;
  }
});

proxy.user.name = 'Bob'; // ❌ 不会触发任何代理 set 或 get

// 因为 proxy.user 返回的是一个普通对象（原始 user 对象），不是被代理的版本。